
-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure
-- --------------------------------------------------
-- Date Created: 04/12/2013 23:24:28
-- Generated from EDMX file: C:\Users\Leo\Documents\Visual Studio 2010\Projects\Champion-app\ChampionFramework\Models\ChampionContext.edmx
-- --------------------------------------------------

SET QUOTED_IDENTIFIER OFF;
GO
USE [ChampionFramework];
GO
IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');
GO

-- --------------------------------------------------
-- Dropping existing FOREIGN KEY constraints
-- --------------------------------------------------

IF OBJECT_ID(N'[dbo].[FK_TimeJogador]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[JogadorSet] DROP CONSTRAINT [FK_TimeJogador];
GO
IF OBJECT_ID(N'[dbo].[FK_JogadorEvento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet] DROP CONSTRAINT [FK_JogadorEvento];
GO
IF OBJECT_ID(N'[dbo].[FK_TimeGrupo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[TimeSet] DROP CONSTRAINT [FK_TimeGrupo];
GO
IF OBJECT_ID(N'[dbo].[FK_GrupoFaseGrupo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[GrupoSet] DROP CONSTRAINT [FK_GrupoFaseGrupo];
GO
IF OBJECT_ID(N'[dbo].[FK_SubstituicaoJogador]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet_Substituicao] DROP CONSTRAINT [FK_SubstituicaoJogador];
GO
IF OBJECT_ID(N'[dbo].[FK_GrupoJogoGrupo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[JogoSet_JogoGrupo] DROP CONSTRAINT [FK_GrupoJogoGrupo];
GO
IF OBJECT_ID(N'[dbo].[FK_JogoEscalacao]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EscalacaoSet] DROP CONSTRAINT [FK_JogoEscalacao];
GO
IF OBJECT_ID(N'[dbo].[FK_EscalacaoTime]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EscalacaoSet] DROP CONSTRAINT [FK_EscalacaoTime];
GO
IF OBJECT_ID(N'[dbo].[FK_EscalacaoJogadorTitular_Escalacao]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EscalacaoJogadorTitular] DROP CONSTRAINT [FK_EscalacaoJogadorTitular_Escalacao];
GO
IF OBJECT_ID(N'[dbo].[FK_EscalacaoJogadorTitular_Jogador]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EscalacaoJogadorTitular] DROP CONSTRAINT [FK_EscalacaoJogadorTitular_Jogador];
GO
IF OBJECT_ID(N'[dbo].[FK_EscalacaoJogadorReserva_Escalacao]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EscalacaoJogadorReserva] DROP CONSTRAINT [FK_EscalacaoJogadorReserva_Escalacao];
GO
IF OBJECT_ID(N'[dbo].[FK_EscalacaoJogadorReserva_Jogador]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EscalacaoJogadorReserva] DROP CONSTRAINT [FK_EscalacaoJogadorReserva_Jogador];
GO
IF OBJECT_ID(N'[dbo].[FK_JogoEtapa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EtapaSet] DROP CONSTRAINT [FK_JogoEtapa];
GO
IF OBJECT_ID(N'[dbo].[FK_EtapaEvento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet] DROP CONSTRAINT [FK_EtapaEvento];
GO
IF OBJECT_ID(N'[dbo].[FK_TaticaPosicionamentoTatico]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[PosicionamentoTaticoSet] DROP CONSTRAINT [FK_TaticaPosicionamentoTatico];
GO
IF OBJECT_ID(N'[dbo].[FK_FaseGrupo_inherits_Fase]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[FaseSet_FaseGrupo] DROP CONSTRAINT [FK_FaseGrupo_inherits_Fase];
GO
IF OBJECT_ID(N'[dbo].[FK_Substituicao_inherits_Evento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet_Substituicao] DROP CONSTRAINT [FK_Substituicao_inherits_Evento];
GO
IF OBJECT_ID(N'[dbo].[FK_JogoGrupo_inherits_Jogo]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[JogoSet_JogoGrupo] DROP CONSTRAINT [FK_JogoGrupo_inherits_Jogo];
GO
IF OBJECT_ID(N'[dbo].[FK_Gol_inherits_Evento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet_Gol] DROP CONSTRAINT [FK_Gol_inherits_Evento];
GO
IF OBJECT_ID(N'[dbo].[FK_Cartao_inherits_Evento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet_Cartao] DROP CONSTRAINT [FK_Cartao_inherits_Evento];
GO
IF OBJECT_ID(N'[dbo].[FK_Lesao_inherits_Evento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet_Lesao] DROP CONSTRAINT [FK_Lesao_inherits_Evento];
GO
IF OBJECT_ID(N'[dbo].[FK_Falta_inherits_Evento]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EventoSet_Falta] DROP CONSTRAINT [FK_Falta_inherits_Evento];
GO
IF OBJECT_ID(N'[dbo].[FK_EtapaRegulamentar_inherits_Etapa]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[EtapaSet_EtapaRegulamentar] DROP CONSTRAINT [FK_EtapaRegulamentar_inherits_Etapa];
GO
IF OBJECT_ID(N'[dbo].[FK_FaseMataMata_inherits_Fase]', 'F') IS NOT NULL
    ALTER TABLE [dbo].[FaseSet_FaseMataMata] DROP CONSTRAINT [FK_FaseMataMata_inherits_Fase];
GO

-- --------------------------------------------------
-- Dropping existing tables
-- --------------------------------------------------

IF OBJECT_ID(N'[dbo].[TimeSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[TimeSet];
GO
IF OBJECT_ID(N'[dbo].[JogadorSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[JogadorSet];
GO
IF OBJECT_ID(N'[dbo].[FaseSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[FaseSet];
GO
IF OBJECT_ID(N'[dbo].[EventoSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EventoSet];
GO
IF OBJECT_ID(N'[dbo].[GrupoSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[GrupoSet];
GO
IF OBJECT_ID(N'[dbo].[EtapaSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EtapaSet];
GO
IF OBJECT_ID(N'[dbo].[EscalacaoSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EscalacaoSet];
GO
IF OBJECT_ID(N'[dbo].[JogoSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[JogoSet];
GO
IF OBJECT_ID(N'[dbo].[PosicionamentoTaticoSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[PosicionamentoTaticoSet];
GO
IF OBJECT_ID(N'[dbo].[TaticaSet]', 'U') IS NOT NULL
    DROP TABLE [dbo].[TaticaSet];
GO
IF OBJECT_ID(N'[dbo].[FaseSet_FaseGrupo]', 'U') IS NOT NULL
    DROP TABLE [dbo].[FaseSet_FaseGrupo];
GO
IF OBJECT_ID(N'[dbo].[EventoSet_Substituicao]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EventoSet_Substituicao];
GO
IF OBJECT_ID(N'[dbo].[JogoSet_JogoGrupo]', 'U') IS NOT NULL
    DROP TABLE [dbo].[JogoSet_JogoGrupo];
GO
IF OBJECT_ID(N'[dbo].[EventoSet_Gol]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EventoSet_Gol];
GO
IF OBJECT_ID(N'[dbo].[EventoSet_Cartao]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EventoSet_Cartao];
GO
IF OBJECT_ID(N'[dbo].[EventoSet_Lesao]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EventoSet_Lesao];
GO
IF OBJECT_ID(N'[dbo].[EventoSet_Falta]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EventoSet_Falta];
GO
IF OBJECT_ID(N'[dbo].[EtapaSet_EtapaRegulamentar]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EtapaSet_EtapaRegulamentar];
GO
IF OBJECT_ID(N'[dbo].[FaseSet_FaseMataMata]', 'U') IS NOT NULL
    DROP TABLE [dbo].[FaseSet_FaseMataMata];
GO
IF OBJECT_ID(N'[dbo].[EscalacaoJogadorTitular]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EscalacaoJogadorTitular];
GO
IF OBJECT_ID(N'[dbo].[EscalacaoJogadorReserva]', 'U') IS NOT NULL
    DROP TABLE [dbo].[EscalacaoJogadorReserva];
GO

-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------

-- Creating table 'TimeSet'
CREATE TABLE [dbo].[TimeSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Nome] nvarchar(max)  NOT NULL,
    [Tecnico] nvarchar(max)  NOT NULL,
    [GrupoId] int  NULL
);
GO

-- Creating table 'JogadorSet'
CREATE TABLE [dbo].[JogadorSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Nome] nvarchar(max)  NOT NULL,
    [Nacionalidade] nvarchar(max)  NOT NULL,
    [Idade] int  NOT NULL,
    [DataInscricao] datetime  NOT NULL,
    [TimeId] int  NOT NULL
);
GO

-- Creating table 'FaseSet'
CREATE TABLE [dbo].[FaseSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [DataInicio] datetime  NOT NULL,
    [DataFim] datetime  NOT NULL,
    [Descricao] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'EventoSet'
CREATE TABLE [dbo].[EventoSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Descricao] nvarchar(max)  NOT NULL,
    [Minutos] int  NOT NULL,
    [Segundos] int  NOT NULL,
    [JogadorId] int  NOT NULL,
    [EtapaId] int  NOT NULL
);
GO

-- Creating table 'GrupoSet'
CREATE TABLE [dbo].[GrupoSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Nome] nvarchar(max)  NOT NULL,
    [FaseGrupo_Id] int  NOT NULL
);
GO

-- Creating table 'EtapaSet'
CREATE TABLE [dbo].[EtapaSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Iniciada] bit  NOT NULL,
    [Encerrada] bit  NOT NULL,
    [JogoId] int  NOT NULL,
    [Atual] bit  NOT NULL
);
GO

-- Creating table 'EscalacaoSet'
CREATE TABLE [dbo].[EscalacaoSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [JogoId] int  NOT NULL,
    [TimeId] int  NOT NULL,
    [Mandante] bit  NOT NULL
);
GO

-- Creating table 'JogoSet'
CREATE TABLE [dbo].[JogoSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [DataHora] datetime  NOT NULL,
    [Encerrado] bit  NOT NULL
);
GO

-- Creating table 'PosicionamentoTaticoSet'
CREATE TABLE [dbo].[PosicionamentoTaticoSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [X] int  NOT NULL,
    [Y] int  NOT NULL,
    [TaticaId] int  NOT NULL
);
GO

-- Creating table 'TaticaSet'
CREATE TABLE [dbo].[TaticaSet] (
    [Id] int IDENTITY(1,1) NOT NULL,
    [Nome] nvarchar(max)  NOT NULL
);
GO

-- Creating table 'FaseSet_FaseGrupo'
CREATE TABLE [dbo].[FaseSet_FaseGrupo] (
    [QtdGrupos] int  NOT NULL,
    [Id] int  NOT NULL
);
GO

-- Creating table 'EventoSet_Substituicao'
CREATE TABLE [dbo].[EventoSet_Substituicao] (
    [JogadorSubstituidoId] int  NULL,
    [Id] int  NOT NULL,
    [JogadorSubstituido_Id] int  NOT NULL
);
GO

-- Creating table 'JogoSet_JogoGrupo'
CREATE TABLE [dbo].[JogoSet_JogoGrupo] (
    [GrupoId] int  NOT NULL,
    [Id] int  NOT NULL
);
GO

-- Creating table 'EventoSet_Gol'
CREATE TABLE [dbo].[EventoSet_Gol] (
    [Contra] bit  NOT NULL,
    [Id] int  NOT NULL
);
GO

-- Creating table 'EventoSet_Cartao'
CREATE TABLE [dbo].[EventoSet_Cartao] (
    [Tipo] int  NOT NULL,
    [Id] int  NOT NULL
);
GO

-- Creating table 'EventoSet_Lesao'
CREATE TABLE [dbo].[EventoSet_Lesao] (
    [Id] int  NOT NULL
);
GO

-- Creating table 'EventoSet_Falta'
CREATE TABLE [dbo].[EventoSet_Falta] (
    [Id] int  NOT NULL
);
GO

-- Creating table 'EtapaSet_EtapaRegulamentar'
CREATE TABLE [dbo].[EtapaSet_EtapaRegulamentar] (
    [PrimeiroTempo] bit  NOT NULL,
    [Id] int  NOT NULL
);
GO

-- Creating table 'FaseSet_FaseMataMata'
CREATE TABLE [dbo].[FaseSet_FaseMataMata] (
    [TipoConfronto] tinyint  NOT NULL,
    [Id] int  NOT NULL
);
GO

-- Creating table 'EscalacaoJogadorTitular'
CREATE TABLE [dbo].[EscalacaoJogadorTitular] (
    [Escalacao_Id] int  NOT NULL,
    [JogadorTitular_Id] int  NOT NULL
);
GO

-- Creating table 'EscalacaoJogadorReserva'
CREATE TABLE [dbo].[EscalacaoJogadorReserva] (
    [Escalacao_1_Id] int  NOT NULL,
    [JogadorReserva_Id] int  NOT NULL
);
GO

-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------

-- Creating primary key on [Id] in table 'TimeSet'
ALTER TABLE [dbo].[TimeSet]
ADD CONSTRAINT [PK_TimeSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'JogadorSet'
ALTER TABLE [dbo].[JogadorSet]
ADD CONSTRAINT [PK_JogadorSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'FaseSet'
ALTER TABLE [dbo].[FaseSet]
ADD CONSTRAINT [PK_FaseSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EventoSet'
ALTER TABLE [dbo].[EventoSet]
ADD CONSTRAINT [PK_EventoSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'GrupoSet'
ALTER TABLE [dbo].[GrupoSet]
ADD CONSTRAINT [PK_GrupoSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EtapaSet'
ALTER TABLE [dbo].[EtapaSet]
ADD CONSTRAINT [PK_EtapaSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EscalacaoSet'
ALTER TABLE [dbo].[EscalacaoSet]
ADD CONSTRAINT [PK_EscalacaoSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'JogoSet'
ALTER TABLE [dbo].[JogoSet]
ADD CONSTRAINT [PK_JogoSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'PosicionamentoTaticoSet'
ALTER TABLE [dbo].[PosicionamentoTaticoSet]
ADD CONSTRAINT [PK_PosicionamentoTaticoSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'TaticaSet'
ALTER TABLE [dbo].[TaticaSet]
ADD CONSTRAINT [PK_TaticaSet]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'FaseSet_FaseGrupo'
ALTER TABLE [dbo].[FaseSet_FaseGrupo]
ADD CONSTRAINT [PK_FaseSet_FaseGrupo]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EventoSet_Substituicao'
ALTER TABLE [dbo].[EventoSet_Substituicao]
ADD CONSTRAINT [PK_EventoSet_Substituicao]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'JogoSet_JogoGrupo'
ALTER TABLE [dbo].[JogoSet_JogoGrupo]
ADD CONSTRAINT [PK_JogoSet_JogoGrupo]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EventoSet_Gol'
ALTER TABLE [dbo].[EventoSet_Gol]
ADD CONSTRAINT [PK_EventoSet_Gol]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EventoSet_Cartao'
ALTER TABLE [dbo].[EventoSet_Cartao]
ADD CONSTRAINT [PK_EventoSet_Cartao]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EventoSet_Lesao'
ALTER TABLE [dbo].[EventoSet_Lesao]
ADD CONSTRAINT [PK_EventoSet_Lesao]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EventoSet_Falta'
ALTER TABLE [dbo].[EventoSet_Falta]
ADD CONSTRAINT [PK_EventoSet_Falta]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'EtapaSet_EtapaRegulamentar'
ALTER TABLE [dbo].[EtapaSet_EtapaRegulamentar]
ADD CONSTRAINT [PK_EtapaSet_EtapaRegulamentar]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Id] in table 'FaseSet_FaseMataMata'
ALTER TABLE [dbo].[FaseSet_FaseMataMata]
ADD CONSTRAINT [PK_FaseSet_FaseMataMata]
    PRIMARY KEY CLUSTERED ([Id] ASC);
GO

-- Creating primary key on [Escalacao_Id], [JogadorTitular_Id] in table 'EscalacaoJogadorTitular'
ALTER TABLE [dbo].[EscalacaoJogadorTitular]
ADD CONSTRAINT [PK_EscalacaoJogadorTitular]
    PRIMARY KEY NONCLUSTERED ([Escalacao_Id], [JogadorTitular_Id] ASC);
GO

-- Creating primary key on [Escalacao_1_Id], [JogadorReserva_Id] in table 'EscalacaoJogadorReserva'
ALTER TABLE [dbo].[EscalacaoJogadorReserva]
ADD CONSTRAINT [PK_EscalacaoJogadorReserva]
    PRIMARY KEY NONCLUSTERED ([Escalacao_1_Id], [JogadorReserva_Id] ASC);
GO

-- --------------------------------------------------
-- Creating all FOREIGN KEY constraints
-- --------------------------------------------------

-- Creating foreign key on [TimeId] in table 'JogadorSet'
ALTER TABLE [dbo].[JogadorSet]
ADD CONSTRAINT [FK_TimeJogador]
    FOREIGN KEY ([TimeId])
    REFERENCES [dbo].[TimeSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_TimeJogador'
CREATE INDEX [IX_FK_TimeJogador]
ON [dbo].[JogadorSet]
    ([TimeId]);
GO

-- Creating foreign key on [JogadorId] in table 'EventoSet'
ALTER TABLE [dbo].[EventoSet]
ADD CONSTRAINT [FK_JogadorEvento]
    FOREIGN KEY ([JogadorId])
    REFERENCES [dbo].[JogadorSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_JogadorEvento'
CREATE INDEX [IX_FK_JogadorEvento]
ON [dbo].[EventoSet]
    ([JogadorId]);
GO

-- Creating foreign key on [GrupoId] in table 'TimeSet'
ALTER TABLE [dbo].[TimeSet]
ADD CONSTRAINT [FK_TimeGrupo]
    FOREIGN KEY ([GrupoId])
    REFERENCES [dbo].[GrupoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_TimeGrupo'
CREATE INDEX [IX_FK_TimeGrupo]
ON [dbo].[TimeSet]
    ([GrupoId]);
GO

-- Creating foreign key on [FaseGrupo_Id] in table 'GrupoSet'
ALTER TABLE [dbo].[GrupoSet]
ADD CONSTRAINT [FK_GrupoFaseGrupo]
    FOREIGN KEY ([FaseGrupo_Id])
    REFERENCES [dbo].[FaseSet_FaseGrupo]
        ([Id])
    ON DELETE CASCADE ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_GrupoFaseGrupo'
CREATE INDEX [IX_FK_GrupoFaseGrupo]
ON [dbo].[GrupoSet]
    ([FaseGrupo_Id]);
GO

-- Creating foreign key on [JogadorSubstituido_Id] in table 'EventoSet_Substituicao'
ALTER TABLE [dbo].[EventoSet_Substituicao]
ADD CONSTRAINT [FK_SubstituicaoJogador]
    FOREIGN KEY ([JogadorSubstituido_Id])
    REFERENCES [dbo].[JogadorSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_SubstituicaoJogador'
CREATE INDEX [IX_FK_SubstituicaoJogador]
ON [dbo].[EventoSet_Substituicao]
    ([JogadorSubstituido_Id]);
GO

-- Creating foreign key on [GrupoId] in table 'JogoSet_JogoGrupo'
ALTER TABLE [dbo].[JogoSet_JogoGrupo]
ADD CONSTRAINT [FK_GrupoJogoGrupo]
    FOREIGN KEY ([GrupoId])
    REFERENCES [dbo].[GrupoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_GrupoJogoGrupo'
CREATE INDEX [IX_FK_GrupoJogoGrupo]
ON [dbo].[JogoSet_JogoGrupo]
    ([GrupoId]);
GO

-- Creating foreign key on [JogoId] in table 'EscalacaoSet'
ALTER TABLE [dbo].[EscalacaoSet]
ADD CONSTRAINT [FK_JogoEscalacao]
    FOREIGN KEY ([JogoId])
    REFERENCES [dbo].[JogoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_JogoEscalacao'
CREATE INDEX [IX_FK_JogoEscalacao]
ON [dbo].[EscalacaoSet]
    ([JogoId]);
GO

-- Creating foreign key on [TimeId] in table 'EscalacaoSet'
ALTER TABLE [dbo].[EscalacaoSet]
ADD CONSTRAINT [FK_EscalacaoTime]
    FOREIGN KEY ([TimeId])
    REFERENCES [dbo].[TimeSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_EscalacaoTime'
CREATE INDEX [IX_FK_EscalacaoTime]
ON [dbo].[EscalacaoSet]
    ([TimeId]);
GO

-- Creating foreign key on [Escalacao_Id] in table 'EscalacaoJogadorTitular'
ALTER TABLE [dbo].[EscalacaoJogadorTitular]
ADD CONSTRAINT [FK_EscalacaoJogadorTitular_Escalacao]
    FOREIGN KEY ([Escalacao_Id])
    REFERENCES [dbo].[EscalacaoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [JogadorTitular_Id] in table 'EscalacaoJogadorTitular'
ALTER TABLE [dbo].[EscalacaoJogadorTitular]
ADD CONSTRAINT [FK_EscalacaoJogadorTitular_Jogador]
    FOREIGN KEY ([JogadorTitular_Id])
    REFERENCES [dbo].[JogadorSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_EscalacaoJogadorTitular_Jogador'
CREATE INDEX [IX_FK_EscalacaoJogadorTitular_Jogador]
ON [dbo].[EscalacaoJogadorTitular]
    ([JogadorTitular_Id]);
GO

-- Creating foreign key on [Escalacao_1_Id] in table 'EscalacaoJogadorReserva'
ALTER TABLE [dbo].[EscalacaoJogadorReserva]
ADD CONSTRAINT [FK_EscalacaoJogadorReserva_Escalacao]
    FOREIGN KEY ([Escalacao_1_Id])
    REFERENCES [dbo].[EscalacaoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [JogadorReserva_Id] in table 'EscalacaoJogadorReserva'
ALTER TABLE [dbo].[EscalacaoJogadorReserva]
ADD CONSTRAINT [FK_EscalacaoJogadorReserva_Jogador]
    FOREIGN KEY ([JogadorReserva_Id])
    REFERENCES [dbo].[JogadorSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_EscalacaoJogadorReserva_Jogador'
CREATE INDEX [IX_FK_EscalacaoJogadorReserva_Jogador]
ON [dbo].[EscalacaoJogadorReserva]
    ([JogadorReserva_Id]);
GO

-- Creating foreign key on [JogoId] in table 'EtapaSet'
ALTER TABLE [dbo].[EtapaSet]
ADD CONSTRAINT [FK_JogoEtapa]
    FOREIGN KEY ([JogoId])
    REFERENCES [dbo].[JogoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_JogoEtapa'
CREATE INDEX [IX_FK_JogoEtapa]
ON [dbo].[EtapaSet]
    ([JogoId]);
GO

-- Creating foreign key on [EtapaId] in table 'EventoSet'
ALTER TABLE [dbo].[EventoSet]
ADD CONSTRAINT [FK_EtapaEvento]
    FOREIGN KEY ([EtapaId])
    REFERENCES [dbo].[EtapaSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_EtapaEvento'
CREATE INDEX [IX_FK_EtapaEvento]
ON [dbo].[EventoSet]
    ([EtapaId]);
GO

-- Creating foreign key on [TaticaId] in table 'PosicionamentoTaticoSet'
ALTER TABLE [dbo].[PosicionamentoTaticoSet]
ADD CONSTRAINT [FK_TaticaPosicionamentoTatico]
    FOREIGN KEY ([TaticaId])
    REFERENCES [dbo].[TaticaSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;

-- Creating non-clustered index for FOREIGN KEY 'FK_TaticaPosicionamentoTatico'
CREATE INDEX [IX_FK_TaticaPosicionamentoTatico]
ON [dbo].[PosicionamentoTaticoSet]
    ([TaticaId]);
GO

-- Creating foreign key on [Id] in table 'FaseSet_FaseGrupo'
ALTER TABLE [dbo].[FaseSet_FaseGrupo]
ADD CONSTRAINT [FK_FaseGrupo_inherits_Fase]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[FaseSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'EventoSet_Substituicao'
ALTER TABLE [dbo].[EventoSet_Substituicao]
ADD CONSTRAINT [FK_Substituicao_inherits_Evento]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[EventoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'JogoSet_JogoGrupo'
ALTER TABLE [dbo].[JogoSet_JogoGrupo]
ADD CONSTRAINT [FK_JogoGrupo_inherits_Jogo]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[JogoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'EventoSet_Gol'
ALTER TABLE [dbo].[EventoSet_Gol]
ADD CONSTRAINT [FK_Gol_inherits_Evento]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[EventoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'EventoSet_Cartao'
ALTER TABLE [dbo].[EventoSet_Cartao]
ADD CONSTRAINT [FK_Cartao_inherits_Evento]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[EventoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'EventoSet_Lesao'
ALTER TABLE [dbo].[EventoSet_Lesao]
ADD CONSTRAINT [FK_Lesao_inherits_Evento]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[EventoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'EventoSet_Falta'
ALTER TABLE [dbo].[EventoSet_Falta]
ADD CONSTRAINT [FK_Falta_inherits_Evento]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[EventoSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'EtapaSet_EtapaRegulamentar'
ALTER TABLE [dbo].[EtapaSet_EtapaRegulamentar]
ADD CONSTRAINT [FK_EtapaRegulamentar_inherits_Etapa]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[EtapaSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- Creating foreign key on [Id] in table 'FaseSet_FaseMataMata'
ALTER TABLE [dbo].[FaseSet_FaseMataMata]
ADD CONSTRAINT [FK_FaseMataMata_inherits_Fase]
    FOREIGN KEY ([Id])
    REFERENCES [dbo].[FaseSet]
        ([Id])
    ON DELETE NO ACTION ON UPDATE NO ACTION;
GO

-- --------------------------------------------------
-- Script has ended
-- --------------------------------------------------